// 引入用户集合
const User = require("../../model/user");
// 引入商品集合
const Goods = require("../../model/goods");
module.exports = async(req, res) => {
    const { queryParam } = req.query;
    const resData = {
        data: {
            user: {},
            goods: [],
        },
        meta: {
            code: 200,
            msg: "查找成功!",
        },
    };
    // 用户昵称不可重复, findOne返回对象
    let user = await User.findOne({ username: queryParam });
    // 商品名称可以重复, find返回数组, find返回空数组[] 注意: 空数组和空对象都是真,  [] == 0 为true,  [] == [] 和 [] === [] 都为false , 原因: 在进行数组直接与true和false的布尔类型比较时，默认是将数组和布尔类型都转化为了Number类型进行比较，空数组转化为Number类型时为0
    // let goods = await Goods.find({ goodsName: queryParam });
    let goodsAll = await Goods.find();
    let goods = [];
    for(var item of goodsAll) {
        // console.log(item);
        if(item.goodsName.includes(queryParam)) {
            goods.push(item)
        }
    }
    // 如果搜索条件为空，则点击搜索不做任何操作，在前端做这个功能
    if ((user || goods) != 0) {
        resData.data.user = user;
        resData.data.goods = goods;
        res.send(resData);
    } else {
        resData.meta.code = 400;
        resData.meta.msg = "您搜索的内容不存在!";
        res.send(resData);
    }
};